﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ElGee.Google.Charts;

namespace WebApp
{
    public static class LineChartData
    {
        /// <summary>
        /// Gets the data source for a LineChart.
        /// </summary>
        /// <returns></returns>
        public static ChartDataSource GetDataSource()
        {
            var ds = new ChartDataSource();

            // Horizontal Axis
            ChartDataTable dt = new ChartDataTable(TypeOfAxis.Horizontal, TypeOfColumn.String, "x Axis");
            dt.Data.Add("Jan 10");
            dt.Data.Add("Feb");
            dt.Data.Add("Mar");
            dt.Data.Add("Apr");
            dt.Data.Add("May");
            dt.Data.Add("Jun");
            dt.Data.Add("Jul");
            dt.Data.Add("Aug");
            dt.Data.Add("Sep");
            dt.Data.Add("Oct");
            dt.Data.Add("Nov");
            dt.Data.Add("Dec");
            ds.Tables.Add(dt);

            // Vertical Axis, we have 2 series
            dt = new ChartDataTable(TypeOfAxis.Vertical, TypeOfColumn.Number, "Sales");
            dt.Data.Add("234.34");
            dt.Data.Add("289.01");
            dt.Data.Add("470.10");
            dt.Data.Add("410.47");
            dt.Data.Add("420.45");
            dt.Data.Add("510.47");
            dt.Data.Add("512.49");
            dt.Data.Add("624.47");
            dt.Data.Add("748.79");
            dt.Data.Add("789.47");
            dt.Data.Add("835.05");
            dt.Data.Add("912.42");
            ds.Tables.Add(dt);

            dt = new ChartDataTable(TypeOfAxis.Vertical, TypeOfColumn.Number, "Orders");
            dt.Data.Add("21");
            dt.Data.Add("26");
            dt.Data.Add("41");
            dt.Data.Add("42");
            dt.Data.Add("41");
            dt.Data.Add("47");
            dt.Data.Add("46");
            dt.Data.Add("54");
            dt.Data.Add("49");
            dt.Data.Add("54");
            dt.Data.Add("67");
            dt.Data.Add("71");
            ds.Tables.Add(dt);

            return ds;
        }

        public static LineChart GetOptions()
        {
            var chart = new LineChart();
            chart.Style.Title = "2010 Sales";
            chart.Style.TitlePosition = TypeOfPosition.In;
            chart.Style.Height = 300;
            chart.Style.Width = 400;
            chart.Style.Colors.Add("#333333");
            chart.Style.Colors.Add("#33DD00");
            chart.Style.LineWidth = 2;
            return chart;
        }
    }
}